/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package pckVista.Contenedores;

import java.awt.BorderLayout;
import pckVista.Configuraciones.pnlConfigRoles;
import pckVista.Configuraciones.pnlConfigUsuario;
import pckVista.Procesos.pnlProcCliente;
import pckVista.Procesos.pnlProcLinea;
import pckVista.Procesos.pnlProcMovimiento;
import pckVista.Procesos.pnlProcProducto;
import pckVista.Procesos.pnlProcProveedor;

/**
 *
 * @author Hider Sánchez - Departamento de Sistemas : SINTEC-PERÚ
 *
 * : sintecperu@gmail.com : informes@sintecperu.tk
 *
 * : http://www.sintecperu.tk : http://www.sintecperu.com
 */
public class frmPrincipal extends javax.swing.JFrame {
    /**
     * se crea un objetos para el menu principal y cada uno de los submenus
     */
//<editor-fold defaultstate="collapsed" desc=" se crea un objetos para el menu principal y cada uno de los submenus "> 
    public pnlAcerca opnlAcerca;
    public pnlConfiguracion oConfiguracion;
    public pnlConsultas oConsulta;
    public pnlProcesos oProceso;
    public pnlReportes oReporte;
    public pnlUtilitarios oUtilitario;
    public pnlVentas  oVenta;
    private final pnlBotones oBoton;
    /**
     * creacion de objetos del los submenus del menu procesos 
     */
    public pnlProcCliente oProcCliente;
    public pnlProcLinea oProcLinea;
    public pnlProcMovimiento oProcMovimiento;
    public pnlProcProducto oProcProducto;
    public pnlProcProveedor oProcProveedor;
    /**
     *  creacion de objetos del los submenus del menu Consultas
     */
    /**
     * creacion de objetos del los submenus del menu Configuracion
     */
    public pnlConfigRoles oConfigRoles;
    public pnlConfigUsuario oConfigUsuario;
//</editor-fold>
    
    public frmPrincipal() {
        
        initComponents();
        //cambiar el color del contentpane a blanco
      this.getContentPane().setBackground(new java.awt.Color(190,206,205));

// Se agrega un BorderLayout al formulario principal
      this.getContentPane().setLayout(new BorderLayout());
      
//<editor-fold defaultstate="collapsed" desc="se realiza todas las instancias requeridas">
      //instancias paneles del contenedor
      oBoton= new pnlBotones(this);
      opnlAcerca= new pnlAcerca(this);
      oConfiguracion= new pnlConfiguracion(this);
      oConsulta= new pnlConsultas(this);
      oProceso= new pnlProcesos(this);
      oReporte= new pnlReportes(this);
      oUtilitario= new pnlUtilitarios(this);
      oVenta= new pnlVentas(this);
      
      //instancias referente a configuraciones
      oConfigRoles= new pnlConfigRoles(this);
      oConfigUsuario= new pnlConfigUsuario(this);
      oConfiguracion= new pnlConfiguracion(this);
      
      oConsulta = new pnlConsultas(this);
      
      //instancia referente a pckProcesos
      oProcCliente = new pnlProcCliente(this);
      oProcLinea = new pnlProcLinea(this);
      oProcMovimiento = new pnlProcMovimiento(this);
      oProcProducto = new pnlProcProducto(this);
      oProcProveedor = new pnlProcProveedor(this);
      oProceso = new pnlProcesos(this);
//</editor-fold>
      
//<editor-fold defaultstate="collapsed" desc="estado del panel en el formulario (visible : oculto)">
      //estado del panel en el formulario paneles del pckContenedor--------------------
      oReporte.setVisible(false);
      oUtilitario.setVisible(false);
      oVenta.setVisible(false);
      oBoton.setVisible(true);
      opnlAcerca.setVisible(true);
      
      //estado del panel en el formulario referente a pckConfiguracion
      oConfigRoles.setVisible(false);
      oConfigUsuario.setVisible(false);
      oConfiguracion.setVisible(false);
      
      //estado del panel en el formulario referente a pckConsulta
      oConsulta.setVisible(false);
      
      //estado del panel en el formulario referente a pckProcesos
  
      oProcCliente.setVisible(false);
      oProcLinea.setVisible(false);
      oProcMovimiento.setVisible(false);
      oProcProducto.setVisible(false);
      oProcProveedor.setVisible(false);
      oProceso.setVisible(false);
//</editor-fold>
      
//<editor-fold defaultstate="collapsed" desc="se le asigna una tamaño fijo de (0,80,1100,520) a todos los paneles">
      //paneles del pckContenedor-------------------------
      opnlAcerca.setBounds(0,80,1100,520);
      oReporte.setBounds(0,80,1100,520);
      oUtilitario.setBounds(0,80,1100,520);
      oVenta.setBounds(0,80,1100,520);
      
      //paneles del pckConfiguracion
      oConfigRoles.setBounds(0,80,1100,520);
      oConfigUsuario.setBounds(0,80,1100,520);
      oConfiguracion.setBounds(0,80,1100,520);
      
      //paneles del pckConsulta
      oConsulta.setBounds(0,80,1100,520);
      
      //paneles del  pckProcesos
      oProcCliente.setBounds(0,80,1100,520);
      oProcLinea.setBounds(0,80,1100,520);
      oProcMovimiento.setBounds(0,80,1100,520);
      oProcProducto.setBounds(0,80,1100,520);
      oProcProveedor.setBounds(0,80,1100,520);
      oProceso.setBounds(0,80,1100,520);
//</editor-fold>      
     
//<editor-fold defaultstate="collapsed" desc="Agregando los paneles al formulario Principal">
      //oBoton   con BorderLayout NORTH   
      this.getContentPane().add(oBoton,BorderLayout.NORTH);
      
      //opnlAcerca con BorderLayout CENTER
      this.getContentPane().add(opnlAcerca,BorderLayout.CENTER);
     
      //oReporte      
      this.getContentPane().add(oReporte,BorderLayout.CENTER);
        
      //oReporte      
      this.getContentPane().add(oUtilitario,BorderLayout.CENTER);
            
      //oVenta
      this.getContentPane().add(oVenta,BorderLayout.CENTER);

      // paneles del pckConfiguracion
      this.getContentPane().add(oConfiguracion,BorderLayout.CENTER);
      this.getContentPane().add(oConfigRoles,BorderLayout.CENTER);
      this.getContentPane().add(oConfigUsuario,BorderLayout.CENTER);
      
      //paneles del pckConsultas
      this.getContentPane().add(oConsulta,BorderLayout.CENTER);
      //paneles del pckProcesos
      this.getContentPane().add(oProceso,BorderLayout.CENTER);
      this.getContentPane().add(oProcCliente,BorderLayout.CENTER);
      this.getContentPane().add(oProcLinea,BorderLayout.CENTER);
      this.getContentPane().add(oProcMovimiento,BorderLayout.CENTER);
      this.getContentPane().add(oProcProducto,BorderLayout.CENTER);
      this.getContentPane().add(oProcProveedor,BorderLayout.CENTER);
//</editor-fold>
      this.pack(); // se distribuye todos los componentes en el frmPrincipal
    }
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setBackground(new java.awt.Color(255, 255, 255));
        setExtendedState(6);
        setFocusTraversalPolicyProvider(true);
        setMinimumSize(new java.awt.Dimension(1100, 600));

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 1100, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 600, Short.MAX_VALUE)
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    /**
     * @param args the command line arguments
     */
      
 //<editor-fold defaultstate="collapsed" desc=" clase main "> 
    public static void main(String args[]) {

        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(frmPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(frmPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(frmPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(frmPrincipal.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
             
           java.awt.EventQueue.invokeLater(() -> {
            new frmPrincipal().setVisible(true);
        });
    }
    //</editor-fold>

    // Variables declaration - do not modify//GEN-BEGIN:variables
    // End of variables declaration//GEN-END:variables

    
}
